package com.ahwei.user.convert;

import com.ahwei.user.api.dto.UserDto;
import com.ahwei.user.entity.User;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

import java.util.List;

/**
 * <p>
 * 这是一个Java文件！
 * </p>
 *
 * @author ahWei
 * @email：ahwei163@qq.com
 * @since 2022-05-31 14:09:04
 */
@Mapper
public interface UserConvert {
    /**
     * 获得接口实例
     */
    UserConvert INSTANCE = Mappers.getMapper(UserConvert.class);


//    @Mappings({
//            // 用于两边属性名不同
//            @Mapping(source = "id", target = "id"),
//            // 用于日期类型
//            @Mapping(source = "now", target = "now", dateFormat = "yyyy-MM-dd HH:mm:ss")
//    })

    /**
     * entity转dto
     * @param user ·
     * @return ·
     */
    UserDto entity2dto(User user);



    /**
     *  dto转entity
     * @param userDto ·
     * @return ·
     */
    User dto2entity(UserDto userDto);



    /**
     * po列表转dto列表
     * @param userList ·
     * @return ·
     */
    List<UserDto> entityList2dtoList(List<User> userList);



    /**
     * dto列表转po列表
     * @param userDtoList ·
     * @return ·
     */
    List<User> dtoList2entityList(List<UserDto> userDtoList);
}
